Bidirectional pre-and post -processor conduit through a bidirectional printing data stream

ABSTRACT

A system and method for communicating commands and data to a printer and pre- and post-processors through a link using different protocols. In the exemplary embodiment, UP 3 I finishing instructions for a print file are specified in a MO:DCA Form Definition and processed by a print server on a host computer. Print commands are generated by the host computer and transmitted to a printer using the Intelligent Printer Data Stream (IPDS) Architecture. The processor within the printer receives and processes the UP 3 I pre- and post-processor commands received via the IPDS communications link and generates commands on a separate communications channel according to the Universal Printer Pre- and Post-Processing Interface (UP 3 I) for transmission to the pre- and post-processors. Status reported by the pre- and post-processors according to the UP 3 I™ specification are received by the printer and transmitted to the host computer.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to controlling printing equipment, and more specifically to a system and method for communicating commands to computer control printing and paper handling equipment.

[0003] 2. Description of Related Art

[0004] High volume, high capacity printing systems have been developed that allow a variety of types of processing to be performed to the paper or other media upon which data is printed. An example of such printing system are completely automated systems that produce paper bills to be mailed to customers of utilities or other entities that mail a large number of bills. These high speed printing systems are able to produce from several hundred to over one thousand pages per minute. These printing systems further have pre-processing and post-processing equipment to handle and further prepare the paper or other media that is processed by these printing systems or by successive systems (such as an off-line inserter). Examples of such pre- and post-processing equipment include machines that cut, fold, perforate, staple, edge stitch, post-print, unwind paper, insert sheets from the printer or other paper-supply sources into a stack of printer output and stuff assembled packages of paper into envelopes for mailing.

[0005] The pre- and post-processing equipment, which are generically referred to herein as ancillary printing equipment, use a variety of physical and logical connection methods. Each interface between and among this equipment as well as with a printing server is typically designed especially for the devices being connected. This has resulted in the use of a large number of interfaces, both the physical interface as well as the software interface used to command the printing system components, that must be supported by manufacturers. Many of these interfaces are also proprietary to the manufacturer of a particular piece of equipment. This has created difficulty in efficiently integrating or replacing printing system components, especially when mixing components from different manufacturers.

SUMMARY OF THE INVENTION

[0006] The complexity of high speed printing systems is increasing as a greater variety of pre- and post-processing equipment is becoming available from an increasing number of sources. In view of these drawbacks, it is an object of the present invention to remove the above-mentioned drawbacks and to facilitate the integration and replacement of printing system components of different models and manufacturers into existing systems by providing an efficient system and method that allows interconnection of high speed printers, pre- and post-processing printing equipment and the printer servers.

[0007] One embodiment of the present invention provides a method of communicating processing data to ancillary printing processors. This method establishes a first communications link from a data source to a printer that carries printer control data in a first protocol and also establishes a second communications link from the data source to at least one ancillary printing processor. This second communications link is at least partially made up of the first communications link. Processing data is then communicated between the data source and the at least one ancillary printing processor by a second protocol that contains data that is communicated by the second communications link. The processing data is communicated according to a second protocol that is carried within the first protocol.

[0008] Another embodiment of the present invention provides a system for communicating processing data to ancillary printing processors. This system has a first communications link that carries printer control data in a first protocol from a data source to a printer and a second communications link from the data source to at least one ancillary printing processor. At least part of the second communications link is made up of the first communications link and the second communications link carries data that conforms to a second protocol. The system also has a host/server for generating printing and finishing data for transmission over the first communications link and the second communications link.

[0009] Other objects, features, and advantages of the present invention will become apparent from the following detailed description. It should be understood, however, that the detailed description and specific examples, while indicating preferred embodiments of the present invention, are given by way of illustration only and various modifications may naturally be performed without deviating from the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a schematic diagram of a printing equipment communications architecture in accordance with an exemplary embodiment of the present invention;

[0011]FIG. 2 is a schematic diagram of an alternative printing equipment communications architecture in accordance with a preferred embodiment of the present invention;

[0012]FIG. 3 is a process flow diagram for communicating a pre-processing or post-processing equipment command in accordance with an exemplary embodiment of the present invention; and

[0013]FIG. 4 is a processing flow diagram for communicating a pre-processing or post-processing equipment status message in accordance with an exemplary embodiment of the present invention.

[0014]FIG. 5 is an example showing several finishing operations in the context of an IPDS data stream.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0015] Preferred embodiments of the present invention will be described in detail hereinbelow with reference to the attached drawings.

[0016] A printing equipment configuration 100 of an exemplary embodiment of the present invention is illustrated in FIG. 1. The printing equipment configuration 100 of the exemplary embodiment has a host/server 102 that generates data files that define documents to print. The exemplary embodiment includes one or more workstations 114 that are used by graphic designers or users with other skills to define part or all of the document to print. Other embodiments utilize other processing architectures to allow the definition of the documents and packages to print. The printing equipment configuration 100 also include high speed, high volume printers that handle and produce several hundred to over one thousand pages per minute. This printing equipment configuration 100 has a printing device 106 that performs the primary printing task of placing the specified image on a page of paper. The printing device 106 of the exemplary embodiment receives data defining the documents to print from the host/server 102. The data generated by the workstation 114 and received by the host/server 102 of the exemplary embodiment conforms to the MO:DCA architecture. The data generated by the host/server 102 and received by the printing device 106 of the exemplary embodiment conforms to the IPDS architecture. The IPDS architecture is defined in the Intelligent Printer Data Stream Reference, IBM Publication #S544-3417-05, Sixth Edition dated March 1996). The MO:DCA architecture is defined in the Mixed Object Document content Architecture Reference, IBM Publication #SC31-6802-05, Sixth Edition, Dated April 2001. The entire contents and teachings of the Intelligent Printer Data Stream Reference and the Mixed Object Document Architecture Reference are hereby incorporated herein by reference.

[0017] The printing device 106 (which might contain more than one marking engine) processes paper that is transferred between the printing device 106 and pre-processing devices 104 as well as post-processing devices 108. Paper is transferred into and out of the printing device 106 via the pre-processing device paper path 120 and the post-processing device paper path 122. Embodiments of the present invention are able to operate with one or more pre-processing device within the pre-processing devices 104 and/or one or more post-processing device as part of the post-processing devices 108.

[0018] The pre-processing devices 104 and the post-processing devices 108 of the exemplary embodiment accept commands that conform to a protocol that is part of the Universal Printer Pre- and Post-Processing Interface (UP³I). The UP³I is defined in the UP³I™ Specification, produced by the UP Core Group, the entire contents and teachings of which is hereby incorporated herein by reference. The printing device 106, pre-processing devices 104 and post-processing devices 108 of the exemplary embodiment of the present invention are electrically connected via a Universal Printer Pre- and Post-Processing Interface (UP³I) bus 110. The UP³I bus 110 of the exemplary embodiment includes an electrical interface that conforms to the IEEE 1394 standard defined by the Institute of Electrical and Electronics Engineers (IEEE) of Piscataway, N.J. The UP³I bus 110 of the exemplary embodiment conveys commands for pre-processing and post-processing operations that are to be performed by the pre-processing devices 104 and the post-processing devices 108, respectively. The commands communicated via the UP³I bus 110 conform to the UP³I protocol.

[0019] A print file containing documents in MO:DCA format is generated on workstation 114 and sent to host/server 102 for printing. The print request is accompanied by a job ticket, such as a MO:DCA Form Definition, that specifies finishing operations to be performed on the print file. In the exemplary embodiment, the finishing operations are specified in a Form Definition using UP³I commands and parameters. The host/server 102 of the exemplary embodiment accepts the print file and job ticket, and derives a composite data stream that consists of an IPDS data stream and an encapsulated UP³I data stream that contains the printing finishing commands for the print file.

[0020] The printing device 106 of the exemplary embodiment contains an internal printer controller that receives and processes commands sent by the host/server 102. The internal printer controller of the exemplary embodiment accepts data and commands from the host/server 102 via the IPDS connection 112 and then controls the print engine within the printing device 106 so as to generate the required printed output. The internal controller of the exemplary embodiment further receives the pre-processing and post-processing commands, which are referred to collectively as finishing commands, that are transmitted by the host/server 102 and transmits the associated UP³I commands over the UP³I bus 110 to the pre-processing devices 104 and/or post-processing devices 108. The internal controller of the printing device 106 further monitors the UP³I bus 110 for status information that is generated by devices on the UP³I bus 110, including the pre-processing devices 104 and post-processing devices 108. The status information transmitted by the pre-processing devices 104 and/or the post-processing devices 108 conforms to the UP³I protocol. Upon receipt of status information over the UP³I bus 110, the internal controller of the printing device 106 of the exemplary embodiment generates a corresponding IPDS acknowledgment for transmission over the IPDS bus 112 to the host/server 102. The status information can contain operational characteristics and capabilities as well as error information.

[0021] The structures used in the MO:DCA Form Definition to carry finishing commands and parameters conform to the MO:DCA architecture, while the actual finishing commands and parameters conform to the UP³I™ Specification. This allows continued use of software that generates and processes MO:DCA constructs.

[0022] The commands issued by the host/server 102 in the exemplary embodiment conform to the IPDS architecture. This allows continued use of software and processing procedures that produce IPDS commands. The IPDS protocol used by the host/server 102 of the exemplary embodiment has been modified to include new IPDS commands that allow communication of UP³I pre-processing and post-processing commands in order to control or monitor the pre-processing devices 104 and/or the post-processing devices 108. The exemplary embodiments of the present invention advantageously allow existing protocols to be generated by the workstation 114 and the host/server 102 although pre-processing devices 104 and post-processing devices 108 require a different protocol. The exemplary embodiments also allow the sharing of device-capabilities description, error recovery, and page tracking information between the UP³I portion of the system and the AFP/IPDS portion of the system. The printing device 106 of the exemplary embodiment interprets these pre-processing and post-processing commands and performs communications via the UP³I bus 110 that corresponds to pre-processing and post-processing commands that are contained within received IPDS commands.

[0023] Alternative embodiments of the present invention utilize pre-processing devices 104 and post-processing devices 108 that do not directly accept UP³I commands. These pre- and post-processing devices are either physically incorporated within the same unit as the printing device 106, or they are connected to the printing device 106 via a non-UP³I interface. The internal printer controller in these embodiments processes the UP³I data that is communicated via the IPDS bus 112 and communicates the correct commands to these other pre- and post-processing devices. It is within the spirit and scope of this invention to support a variety of interconnections between the printing device 106 and the pre-processing devices 104 and post processing devices 108. Embodiments of the present invention further use other protocols, aside from the IPDS and UP³I protocols, to control all or some of the pre-processing devices 104, post processing devices 108 and the printing device 106.

[0024] An exemplary expanded printing equipment configuration 200 is illustrated in FIG. 2. This expanded printing equipment configuration 200 includes the same components of the previous exemplary printing equipment configuration 100 with the addition of a UP³I manager 202. The UP³I manager 202 is connected to the UP³I bus 110 to monitor data transmitted by those devices onto the UP³I bus 110. This allows direct monitoring of the UP³I data generated by the devices.

[0025] An exemplary command communications processing flow 300 is illustrated in FIG. 3. The processing begins, at step 301, where the host/server receives a print file along with a Form Definition that specifies UP³I finishing operations for the print file. Processing continues, at step 302, by communicating a command via the IPDS data link from the host/server 102 to the printing device 106. The printing device 106 of the exemplary embodiment receives, at step 304, the command. The processor within the printing device 106 examines the received command and determines, at step 306, whether the received command is a printer command or a pre-processor or post-processor command. If the command is a printer command, the command is processed, at step 308. An example of a printer command is a command that requires configuration of the print engine within the printing device 106. If the command is not a printer command, the processor within the printing device 106 of the exemplary embodiment generates, the associated UP³I command and transmits, at step 310, that command. In the normal course of printer operations or in response to specific IPDS commands, UP³I commands might also be generated by printing device 106.

[0026] An exemplary status communications processing flow 400 is illustrated in FIG. 4. This status communications processing flow begins by waiting, at step 401, for a status message to be communicated via the UP³I bus 110. The processing then receives, at step 402, the status message at the printing device 106. The processor within the status printing device 106 generates the associated IPDS message and transmits, at step 404, that message to the host/server 102. The processing then continues by waiting, at step 401, for a further status message to be communicated via the UP³I bus 110.

Protocol Extensions to Carry UP³I Protocol Data

[0027] An exemplary embodiments of the example of the present invention operate by introducing new commands to the IPDS protocol as well as the MO:DCA architecture. These protocols define rules for command triplets and self defining fields (SDFs). The Tupels discussed below are defined by the UP³I specification to be ordered chains of paper sequence IDs. The IPDS specification defines the commands discussed below that begin with the letters XOH and XOA.

[0028] The added command data, which include new commands and added values to existing commands, are defined below:

[0029] Extensions for the MO:DCA Medium Finishing Control (MFC) Structured Field

[0030] The MFC structured field is specified in a Form Definition to specify finishing operations that are to be applied to the print file. Such operations are currently specified in a Finishing Operation (X‘85’) triplet. The MFC structured field is being extended to allow UP³I finishing operations to be specified for the print file. This is done by allowing a new triplet to be used on the MFC—the UP³I Finishing Operation (X‘8E’) triplet, which contains the UP³I Form Finishing Operating (X‘03’) triplet that is defined by the UP³I™ Specification.

Extensions for the IPDS Sense-Type-and-Model Command UP³I property pair for IPDS Sense Type and Model (STM)

[0031] Data Value returned within IPDS STM reply: X‘F101’

[0032] Meaning of Data Value: A printer returning this data value within an STM reply processes UP³I finishing extensions to the IPDS interface. An existing UP³I interface is reported with this data value.

[0033] A printer that reports this data value via the IPDS interface supports the UP³I related IPDS commands, including:

[0034] XOH-OPC UP³I Tupel SDF with the UP³I Finishing Device Entry

[0035] XOH-OPC UP³I Paper Input Media SDF

[0036] UP³I Finishing Operation Triplet in the XOH-DGB and the AFO commands

[0037] XOA Discard Unstacked Pages

[0038] UP³I Exceptions including Sense Format 8 and Set Recovery.

[0039] Note: Indicating UP³I support does not necessarily mean that a UP³I device is available in the print system. This is indicated in an IPDS Obtain Printer Characteristics (OPC) reply.

[0040] Data Value returned within IPDS STM reply: X‘80F5’ Meaning of Data Value: XOA-Discard Unstacked Pages command is supported.

[0041] A printer that reports this property pair supports the XOA-Discard Unstacked Pages command.

Extensions for the XOH-OPC IPDS Command

[0042] The UP³I Tupel Self Defining Field (SDF)

[0043] This SDF reports the physical order and properties of the UP³I devices connected to the print system.

[0044] Data Field Definitions of the UP³I Tupel SDF:

[0045] Bytes 0-1 of the UP³I Tupel SDF contain the SDF length field. These two bytes form a data value of type unsigned binary and is valid with a value greater or equal to 9. This length value includes the SDF length field itself.

[0046] Bytes 2-3 contain the hexadecimal value 0019, which is the UP³I Tupel SDF ID value.

[0047] Bytes 4-5 contain the UP³I Tupel ID and are able to have a value of hexadecimal 0001 through FFFF. A value of 0000 is reserved.

[0048] The remaining bytes contain finishing device information with one or more UP³I finishing device entries.

[0049] One UP³I tupel SDF reports the UP³I devices that define one tupel. There are as many UP³I tupel SDFs in an OPC as there are tupels in an UP³I processing line. The paper flow within one tupel is described by the paper Sequence IDs, the devices are ordered ascending. The paper moves from the device with the lowest paper sequence ID to the device with the next higher one.

UP³I Finishing Device Entry

[0050] The UP³I finishing device entries are the data that are contained within the last field of the above SDF. Each of these entries has the following format:

[0051] Data Definition of the UP³I Finishing Device Entry:

[0052] Byte 0 of this entry is the entry length field that contains the length (i.e., number of bytes) of this entry, including this field. This field is able to contain a value between hexadecimal 03 and FF.

[0053] Byte 1 of this entry contains the UP³I finishing device entry ID, which is a value of 01.

[0054] Byte 2 contains the paper sequence ID of the finishing device associated with this entry. This byte is able to contain any value between 0 and hexadecimal FF.

[0055] The remaining bytes of this entry contain one or more UP³I SDF triplets related to device with the paper sequence ID above.

[0056] One UP³I finishing device entry reports the characteristics of one UP³I device. Several UP³I SDF triplets may be included in one UP³I Tupel SDF. All these entries describe one UP³I device.

[0057] The following UP³I Self Defining Field (SDF) Triplets, which are described in the UP³I™ Specification, are supported by the UP³I Finishing device entry:

[0058] UP³I Version Triplet

[0059] Device Type Triplet

[0060] Self Defining Field Triplet

[0061] Paper Input Format Triplet

[0062] Paper Output Format Triplet

[0063] UP³I Product ID Triplet

UP³I Paper Input Media SDF

[0064] This SDF reports the media attributes of all media that exist in the UP³I line.

Description of the UP³I Paper Input Media SDF

[0065] Bytes 0 through 1 of this SDF are of type unsigned binary and contain the Length field. This field is able to contain a value between hexadecimal 0005 and FFFF. This field contains the length of this SDF, including this field itself.

[0066] Bytes 2 through 3 contain the UP³I Paper Input Media SDF ID field. This field contains the hexadecimal value 001A, which indicates the UP³I Paper Input Media SDF ID.

[0067] Byte 4 contains the Media Source ID field. This field is able to contain hexadecimal values between 00 and FF. This field contains the Media Source ID as defined in OPC Printable Area SDF communicated under the IPDS protocol.

[0068] The remaining bytes contain the UP³I Paper Input Media Triplet with its Sub Triplets, as defined in the UP³I specification; extra bytes beyond the UP³I-defined bytes are ignored.

[0069] The relation between the Printable-Area SDF and this UP³I Media Attribute SDF is based upon:

[0070] Media Source ID (Byte 4) of the Printable-Area SDF and by the

[0071] Input Media ID (Byte 3) of the UP³I Paper Input Media Triplet. For every media that is available in the UP³I line there may exist a Paper Input Media Triplet with its Sub Triplets.

[0072] The UP³I paper input media triplet and its sub triplets are described in the UP³I™ specification.

[0073] The UP³I paper input media triplet is optional in the UP³I specification; when the length of this SDF is only five bytes, there is no data available. The Paper Input Media Triplet supports the following sub triplets:

[0074] Paper Input Media Name Sub Triplet

[0075] Paper Input Media Coating Sub Triplet

[0076] Paper Input Media Brightness Sub Triplet

[0077] Paper Input Media Color Sub Triplet

[0078] Paper Input Media Imagable Side Sub Triplet

[0079] Paper Input Media Color Name Sub Triplet

[0080] Paper Input Media Set Count Sub Triplet

[0081] Paper Input Media Opacity Sub Triplet

[0082] Paper Input Media Pre Printed Sub Triplet

[0083] Paper Input Media Recycled Sub Triplet

[0084] Paper Input Media Roll Diameter Sub Triplet

[0085] Paper Input Media Thickness Sub Triplet

[0086] Paper Input Media User Media Type Sub Triplet

[0087] Paper Input Media Weight Sub Triplet

[0088] Note: The Media Source ID allows the host program to associate the Media Attributes contained in the UP³I Input Media Triplet with the Media Sources (Input Bins) specified in the OPC-Printable Area-SDF.

[0089] The direction of the width and length parameters in the paper input media triplet refer (different than it is in IPDS) to the paper movement direction.

[0090] The units for distance parameters used in the UP³I specification are different from those in the IPDS specification. UP³I uses milli-points, one milli-point is {fraction (1/72000)} inch.

[0091] However, these values are not relevant for the host software, because they are also defined in the OPC-Printable Area-SDF (i.e. Length/Width of Media Presentation space, Offset/Extend of Printable Area, some Media characteristics). The host program uses the OPC-Printable Area-SDF to control its presentation process. The IPDS controller together with the UP³I Manager guarantee that the information contained in both SDFs is consistent.

Extensions for XOH-DGB and AFO (Apply Finishing Operation)

[0092] The IPDS format has its own finishing operating triplet (X‘85’), but the newly added UP³I form finishing operating triplet, which is carried by the Medium Finishing Control (MFC) structured field in the MO:DCA Form Definition, allows UP³I command data to be transmitted via the IPDS data bus 112 so that the printing device 106 is able to transmit the corresponding UP³I command via the UP³I bus 110.

UP³I Finishing Operation Triplet Description of the UP³I Finishing Operation Triplet Data Fields

[0093] Byte 0 of this triplet is an unsigned binary data element containing the Length field. This byte is able to have a value between hexadecimal 05 and FE. This byte contains the length of this triplet, including this field itself.

[0094] Byte 1 contains the Triplet ID field. This byte contains the hexadecimal value 8E, which identifies the UP³I Finishing Operation triplet.

[0095] Bytes 2 and 3 are reserved.

[0096] The remaining bytes contain data representing the UP³I Form Finishing Operation Triplet as defined in the UP³I™ specification; this field contains bytes 4 through the end of the UP³I Form Finishing Operation triplet; extra bytes beyond the UP³I-defined bytes are ignored.

[0097] A restriction of the exemplary embodiment of the present invention is that the finishing operation types “Paper Input/Page interpose” are rejected in the IPDS triplet with hexadecimal ID value 8E. The existing IPDS interpose functionality is used instead.

[0098] This triplet can be carried on the IPDS Define Group Boundary (DGB) command that starts a group and is valid for all sheets in the group.

[0099] This triplet can also be carried on an Apply Finishing Operations (AFO) command for a single sheet operation.

XOA Discard Unstacked Pages

[0100] The XOA Discard Unstacked Pages (DUP) command deletes all buffered data from the printer storage, discards all printed but unstacked pages, and returns the printer to home state.

Definition of the XOA Discard Unstacked Pages Data Fields:

[0101] Bytes 0 through 1 of this data element contain the Order code field. This field has the hexadecimal value of F500, which indicates the Discard Unstacked Pages (DUP) order code.

UP³I-specific Exception IDs Added to IPDS

[0102] The printing device 106 of the exemplary embodiment monitors the status of devices connected to the UP³I bus 110. Status data is reported back to the host/server via the exception handling defined by the IPDS protocol but with exception IDs that have been added to the IPDS specification to reflect UP³I equipment status. Further Information concerning IPDS exception handling is provided in the IPDS specification. The added exception IDs for UP³I status data are defined below.

Exception: Intervention Required

[0103] Exception ID Hexadecimal Value: X‘407E . . . 00’

[0104] Indicates: Intervention required on a UP³I-controlled device

[0105] Action Code: X‘08’, X‘0A’, X‘1A’, or X‘22’

[0106] Explanation: A pre-processing or post-processing device attached to the printer has reported an intervention required condition. The specific error is identified in the sense bytes 8-9. This exception ID uses sense-byte format 8.

[0107] Alternate Exception Action: None

[0108] Page Continuation Action: None

Exception: Specification Check

[0109] Exception ID Hexadecimal Value: X‘027E . . . 00’

[0110] Indicates: Invalid or unsupported parameter specification for a UP³I-controlled device Action Code: X‘01’, X‘06’, or X‘09’

[0111] Explanation: A specification error was detected for a UP³I pre-processing or post-processing device. The specific error is identified in the sense bytes 8-9.

[0112] The UP³I Finishing Operation (X‘8E) triplet is used to specify finishing operations for UP³I pre-processing or post-processing devices attached to the printer. This exception ID uses sense-byte format 8.

[0113] Alternate Exception Action: None

[0114] Page Continuation Action: None

Exception: Conditions Requiring Host Notification

[0115] Exception ID Hexadecimal Value: X‘0109 . . . 00’

[0116] Indicates: Supported finishing operations changed.

[0117] Note: Use existing NACK

[0118] Exception ID Hexadecimal Value: X‘017E . . . 00’

[0119] Indicates: Condition requiring host notification on a UP³I-controlled device

[0120] Action Code: X‘09’, X‘1A’, or X‘1D’

[0121] Explanation: A pre-processing or post-processing device attached to the printer has reported a condition requiring host notification. The specific error is identified in the sense bytes 8-9. This exception ID uses sense-byte format 8.

[0122] Alternate Exception Action: None

[0123] Page Continuation Action: None

Exception: Equipment Check with Intervention Required

[0124] Exception ID Value: X‘507E . . . 00’

[0125] Indicates: Intervention required because of an equipment check on a UP³I-controlled device

[0126] Action Code: X‘08’, X‘09’, X‘16’, or X‘22’

[0127] Explanation: A pre-processing or post-processing device attached to the printer has reported an equipment check error that is also an intervention required condition. The specific error is identified in the sense bytes 8-9. This exception ID uses sense-byte format 8.

[0128] Alternate Exception Action: None

[0129] Page Continuation Action: None

Exception: Equipment Check

[0130] Exception ID Value: X‘107E . . . 00’

[0131] Indicates: Equipment check on a UP³I-controlled device.

[0132] Action Code: X‘09’, X‘22’ or X‘23’

[0133] Explanation: A pre-processing or post-processing device attached to the printer has reported an equipment check error that can not be corrected by an operator. The specific error is identified in the sense bytes 8-9. This exception ID uses sense-byte format 8.

[0134] Alternate Exception Action: None

[0135] Page Continuation Action: None

Definition of Sense Byte Format 8

[0136] Sense Byte Format 8 is used by some of the above exceptions. Bytes 8-18 of the format are defined by UP³I, all other bytes are part of IPDS exception reporting.

[0137] Bytes 0 and 1 of this format contain the Exception Class & Exception ID, which are bytes 1 and 2 of the 3-byte Error Code.

[0138] Byte 2 of this format contains the Action Code field, which also may indicate that some counter adjustments are required. The counter values (RPC, CPC, JPC, OPC, SPC) represent IPDS-defined tracking points in the logical paper path and are described in the IPDS Specification. The meanings associated with the different hexadecimal values of this byte are defined as:

[0139] Value=01: Data stream exception.

[0140] Counter Adjustments: Normal IPDS handling

[0141] Value=06: Function no longer achievable

[0142] Counter Adjustments: No change

[0143] Value=08: Physical media jam

[0144] Counter Adjustments:

[0145] RPC<−JPC

[0146] CPC<−JPC

[0147] OPC<−JPC

[0148] JPC no change

[0149] SPC<−JPC

[0150] Value=09: Data related print exceptions

[0151] Value=16: Hardware Related Print Exception

[0152] Value=1A: Re-drive buffered pages

[0153] Value=1D: Printer characteristics changed

[0154] Value=23: Temporary HW exception

[0155] Counter Adjustments for 09, 16, 1A, 1D, and 23:

[0156] RPC<−CPC

[0157] CPC no change

[0158] OPC no change

[0159] JPC no change

[0160] SPC no change

[0161] Value=0A: Pre/Post processor exception

[0162] Counter Adjustments: RPC<−JPC

[0163] Counter Adjustments: CPC<−JPC

[0164] Counter Adjustments: OPC<−JPC

[0165] Counter Adjustments: JPC no change

[0166] Counter Adjustments: SPC<−no change

[0167] Value=22: Printer inoperative. Counter Adjustments defined by the printer.

[0168] Byte 3 of this format indicates Printer Dynamic Conditions.

[0169] Byte 4 contains hexadecimal value DE, and indicates a device error.

[0170] Byte 5 contains the value 08 which is the Format Identifier. This is the UP³I-specific sense data format.

[0171] Bytes 6 and 7 contain the value of the IPDS command ID for which the error is being reported.

[0172] Bytes 8 and 9 contain a UP³I specific error code. This error code is device specific as is defined by the UP³I™ specification

[0173] Byte 10 contains the Paper Sequence ID of the Pre/Post processing device which caused the exception.

[0174] Bytes 11 and 12 are set to zero and are reserved (for set error recovery).

[0175] Bytes 13 and 14 are set to zero and are reserved (for set error recovery).

[0176] Bytes 15 through 16 contain the ID of the active UP³I tupel.

[0177] Bytes 17 and 18 are set to 0000 and are reserved.

[0178] Byte 19 is set to 00 and is Byte 3 of the 3-byte error code.

[0179] Bytes 20 through 23 contain the Page Identifier.

IPDS Data Stream with UP³I Triplets

[0180] An exemplary IPDS data stream that includes UP³I Triplets is illustrated in FIG. 5. X‘8E’ triplets are initially specified on the Medium Finishing Control (MFC) structured field in the MO:DCA Form Definition at print-job submission. The exemplary IPDS command flow 500 describes a complete print package has three nesting levels or sub-portions defined by the IPDS commands XOH DGB and XOH SGO (Specify Group Operation), which are shown as “DGB” and “SGO” commands in the exemplary IPDS command flow 500. In the exemplary embodiment, each time a new nesting level is defined, an XOH SGO command is specified.

[0181] The first package sub-portion is initiated by the first XOH SGO command 502 that defines the level as X‘90’ and the operation to be X‘04’, “finishing operations.” The first package sub-portion is defined by a first DGB command 504 and is terminated by a first DGB Terminate command 508, both for level X‘90’ as defined by the first SGO command 502. The first package sub-portion includes the entire print package, which are pages one through fifteen, in this example. The first DBG command 504 includes a first finishing operation command 506 that specifies two finishing operation triplets—a first specifying “Corner staple, Top-left corner” and another specifying “Punch.” These finishing operations will be applied to all of the pages within the first package sub-portion. The finishing operation triplets used in the first DGB command 504 causes the first package sub-portion, which is the entire document in this example, to be punched and stapled at the top left corner.

[0182] The second package sub-portion is initiated by the second SGO command 510 that defines the level as X‘8E’ and the operation to be X‘04’, “finishing operations.” The second package sub-portion is defined by the second DGB command 512 and is terminated by the second DGB terminate command 514, both for level X‘8E’ as defined by the second SGO command 510. The second package sub-portion in this example includes only part of the print package, i.e., page 2 through page 8. The second DGB command 512 includes a second finishing operation command 516 that contains one finishing operation triplet specifying “Fold, F8-2 4×1.” The finishing operation triplet within the second finishing operation command 516 of this example causes the pages within the second package sub-portion to be folded using a z-fold.

[0183] The third package sub-portion is initiated by a third SGO command 520 that defines the level as X‘8C’ and the operation to be X‘04’, “finishing operations.” The third package sub-portion is defined by a third DGB command 522 and is terminated by a third DGB terminate command 524, both for level X‘8C’ as defined by the third SGO command 520. The third package sub-portion in this example includes only part of the print package, i.e., page 4 through page 6. The third DGB command 522 includes a third finishing operation command 526 that contains one finishing operation triplet specifying “Cut, Perforation cut.” The finishing operation triplet within the third finishing operation command 526 of this example causes the pages within the third package sub-portion to be cut with a perforation cut.

Alternative Embodiments

[0184] The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, controls the computer system such that it carries out the methods described herein.

[0185] The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. In the present context, a “computer program” includes any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code, or notation; and b) reproduction in a different material form.

[0186] Each computer system may include one or more computers and a computer readable medium that allows the computer to read data, instructions, messages, or message packets, and other computer readable information from the computer readable medium. The computer readable medium may include non-volatile memory such as ROM, Flash memory, a hard or floppy disk, a CD-ROM, or other permanent storage. Additionally, a computer readable medium may include volatile storage such as RAM, buffers, cache memory, and network circuits. Furthermore, the computer readable medium may include computer readable information in a transitory state medium such as a network link and/or a network interface (including a wired network or a wireless network) that allow a computer to read such computer readable information.

[0187] While there has been illustrated and described what are presently considered to be the preferred embodiments of the present invention, it will be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from the true scope of the present invention. Additionally, many modifications may be made to adapt a particular situation to the teachings of the present invention without departing from the central inventive concept described herein. Furthermore, an embodiment of the present invention may not include all of the features described above. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the invention include all embodiments falling within the scope of the appended claims. 

What is claimed is:
 1. A method of communicating processing data to ancillary printing processors, the method comprising the steps of: establishing a first communications link from a data source to a printer, wherein the first communications link carries printer control data in a first protocol; establishing a second communications link from the data source to at least one ancillary printing processor, wherein at least part of the second communications link comprises the first communications link; and communicating processing data between the data source and the at least one ancillary printing processor, wherein the processing data is in a second protocol that is carried within the first protocol.
 2. The method according to claim 1, wherein the first protocol is Intelligent Printer Data Stream and the second protocol is Universal Printer Pre- and Post-Processing Interface.
 3. The method according to claim 1, wherein the first communications link is a bi-directional, point-to-point link between the data source and the printer.
 4. The method according to claim 1, wherein the second communications link comprise a Universal Printer Pre- and Post-Processing Interface data link that connects the printer and the at least one ancillary printing processor.
 5. The method according to claim 1, wherein the first protocol comprises an encapsulation message into which is encapsulated at least one message of the second protocol.
 6. The method according to claim 1, wherein the first communications link communicates a status of the at least one ancillary printing processor that was communicated via the second communications link.
 7. The method according to claim 1, wherein the data contained within the printer control data and the processing data are derived from a job ticket, and the format of the processing data conforms to the second protocol.
 8. The method according to claim 1, wherein the first communications link communicates printer data and the second communications link simultaneously communicates data for at least one of a pre-processing device and a post-processing device.
 9. The method according to claim 8, wherein the first communications link communicates data to a printing device and wherein the second communications link communicates data to at least one of a pre-processing device and a post-processing device.
 10. The method according to claim 9, wherein the first communications link further communicates status data from a printing device and the second communications link further communicates status data from at least one of a pre-processing device and a post-processing device.
 11. A method of transferring printer data, the method comprising the steps of: accepting a first set of data and a second set of data in a first protocol at a printer, wherein the second set of data corresponds data defined by a second protocol; and communicating the second set of data to ancillary printing processors.
 12. A system for communicating processing data to ancillary printing processors, the system comprising: a first communications link from a data source to a printer, wherein the first communications link carries printer control data in a first protocol; a second communications link from the data source to at least one ancillary printing processor, wherein at least part of the second communications link comprises the first communications link and wherein the second communications link carries data that conforms to a second protocol; and a host/server for generating printing and finishing data for transmission over the first communications link and the second communications link.
 13. The system according to claim 12, wherein the first protocol is the Intelligent Printer Data Stream and the second protocol is Universal Printer Pre- and Post-Processing Interface.
 14. The system according to claim 12, wherein the first communications link is a bi-directional, point-to-point link between the data source and the printer.
 15. The system according to claim 12, wherein the second communications link comprise a Universal Printer Pre- and Post-Processing Interface data link that connects the printer and the at least one ancillary printing processor.
 16. The system according to claim 12, wherein the first protocol comprises a encapsulation message into which is encapsulated at least one message of the second protocol.
 17. The system according to claim 12, wherein the first communications link communicates a status of the at least one ancillary printing processor that was communicated via the second communications link.
 18. The system according to claim 12, wherein the first communications link communicates printer data and the second communications link simultaneously communicates data for at least one of a pre-processing device and a post-processing device.
 19. The system according to claim 18, wherein the first communications link communicates data to a printing device and wherein the second communications link communicates data to at least one of a pre-processing device and a post-processing device.
 20. The system according to claim 19, wherein the first communications link further communicates status data from a printing device and the second communications link further communicates status data from at least one of a pre-processing device and a post-processing device.
 21. A system for relaying processing data to ancillary printing processors, the system comprising: a first protocol receiver for receiving a finishing command and a printing command over a communications link from a data source to a printer; and a second protocol transmitter for transmitting a corresponding command to at least one of a pre-processing device and a post-processing device over a second communications link, wherein the corresponding command conforms to a second protocol and corresponds to the finishing command.
 22. A system for relaying processing data to ancillary printing processors, the system comprising: a second protocol receiver for receiving status data over a second communications link from at least one of a pre-processing device and a post-processing device; and a first protocol transmitter for transmitting a corresponding status data to a host/server over a first communications link, wherein the corresponding status data conforms to a second protocol and corresponds to the status data.
 23. A computer program product including computer instructions for communicating processing data to ancillary printing processors, the computer instructions comprising instructions for: establishing a first communications link from a data source to a printer, wherein the first communications link carries printer control data in a first protocol; establishing a second communications link from the data source to at least one ancillary printing processor, wherein at least part of the second communications link comprises the first communications link; and communicating processing data between the data source and the at least one ancillary printing processor, wherein the processing data is in a second protocol that is carried within the first protocol.
 24. The computer program product according to claim 23, wherein the first protocol is Intelligent Printer Data Stream and the second protocol is Universal Printer Pre- and Post-Processing Interface.
 25. The computer program product according to claim 23, wherein the first communications link is a bi-directional, point-to-point link between the data source and the printer.
 26. The computer program product according to claim 23, wherein the second communications link comprise a Universal Printer Pre- and Post-Processing Interface data link that connects the printer and the at least one ancillary printing processor.
 27. The computer program product according to claim 23, wherein the first protocol comprises a encapsulation message into which is encapsulated at least one message of the second protocol.
 28. The computer program product according to claim 23, wherein the first communications link communicates a status of the at least one ancillary printing processor that was communicated via the second communications link.
 29. The computer program product according to claim 23, wherein the first communications link communicates printer data and the second communications link simultaneously communicates data for at least one of a pre-processing device and a post-processing device.
 30. The computer program product according to claim 29, wherein the first communications link communicates data to a printing device and wherein the second communications link communicates data to at least one of a pre-processing device and a post-processing device.
 31. The computer program product according to claim 30, wherein the first communications link further communicates status data from a printing device and the second communications link further communicates status data from at least one of a pre-processing device and a post-processing device.
 32. A computer program product including computer instructions for relaying processing data to ancillary printing processors, the computer instructions comprising instructions for: receiving a finishing command for at least one of a pre-processing device and a post-processing device over a first communications link from a data source, wherein the first communications link carries data in a first protocol and the finishing command conforms to the first protocol; and transmitting a corresponding command to at least one of a pre-processing device and a post-processing device over a second communications link, wherein the corresponding command conforms to a second protocol and corresponds to the finishing command. 